Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Програмування контролера переривань і8259 в IBM PC / АТ.

Інформація про навчальний заклад

ВУЗ:
Інші
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Не вказано

Інформація про роботу

Рік:
2024
Тип роботи:
Лабораторна робота
Предмет:
Архітектура комп’ютерів та комп’ютерних систем

Частина тексту файла

www.aeom.ho.ua Лабораторна робота №5 ТЕМА: Програмування контролера переривань і8259 в IBM PC / АТ. МЕТА: Набути навичок з програмування контролера переривань, розробляти й встановлювати власні обробники апаратних та програмних переривань. Короткі теоретичнi вiдомостi З кожним перериванням зв`язана та чи інша подія. Система повинна розпізнати яке переривання з яким номером відбулося і яку відповідну процедуру треба виконати. Відомі 2 види переривань: апаратне і програмне. Програмні переривання зручно використовувати для організації доступу до окремих спільних для всіх програм модулям. Прикладні програми можуть самі встановлювати свої обробники переривань, для їх послідуючого використовування іншими програмами. Для цього обробники переривань повинні бути резидентними у пам`яті. Апаратні переривання викликаються фізичними пристроями і проходять асинхронно. Ці переривання інформуть систему про подію зв`язану з роботою перефирійних пристроїв. Використовування переривань при роботі з повільними зовнішніми пристроями дозволяє сумістити ввод\вивід з обробкою даних у ЦП і завдяки цьому підвищується працездатність системи. Деякі переривання зарезервовані для використання самим процесором. Іноді бажано зробити систему, яка не реагує на всі або окремі переривання, для цього використовують маскування переривань. Складання програм обробника переривань і заміна стандартних обробників MS DOS I BIOS є відповідальною роботою. Необхідно врахувати усі тонкощі роботи апаратури і взаємодію програмного і апаратного забезпечення. Таблиця векторів переривань Для того, щоб зв`язати адресу обробника переривань з номером переривання використовують таблицю векторів переривань, яка займає 1 Кб оперативної пам`яті від 0000:0000 до 0000:03FF. Таблиця має 256 елементів FAR обробників. Ці елементи звуться векторами переривань. У першому слові елемента таблиці записано зміщення, а у другому адреса сегмента обробника переривань. void (* interrupt_table [256]); Загальна структура системи переривань АТ Апаратні переривання: масковані, немасковані. Програмні переривання: BIOS, DOS, користувача. Виключні ситуації: помилки, пастки, аварійне завершення. IRQ0 – системний таймер; IRQ1 – клавіатура; IRQ2 – каскадування КП; IRQ3 – СОМ2; IRQ4 – СОМ1; IRQ5 – порт принтера RTP2; IRQ6 – гнучкі магнітні диски; IRQ7 - порт принтера RTP1; IRQ8 – RTC; IRQ9 – відеоадаптер; IRQ10 – резерв користувача; IRQ11 – резерв користувача; IRQ12 – резерв користувача; IRQ13 – співпроцесор; IRQ14 – жорсткі магнітні диски HMD; IRQ15 – резерв користувача. Помилки – це виключні ситуації, які знаходяться і обслуговуються після вибірки до виконання команди, що обслуговується. Пастки – це виключні ситуації проя кі повідомляється одразу після виконання команди, яка привела до появи даної ситуації. Аварійне завершення – це виключні ситуації при неможливості точно локалізувати джерело помилки і використовуються при виявленні глобальних помилок. Заміна таблиці векторів переривань Якщо потрібно організувати обробку деяких переривань, то програма повинна переназначити вектор переривань на власний обробник. Це можна зробити, змінивши зміст відповідного елемента таблиці вектора переривань. Послідовність дій для нерезидентних програм обробки переривань: 1. Прочитати зміст елементів таблиці вектора переривань для вектора з потрібним вам номером. 2. Запам`ятати цей зміст із області даних програми. 3. Встановити нову адресу у таблиці векторів переривань так, щоб вона відповідала початку вашої програми обробки переривань. 4. Перед завершенням роботи програми прочитати із області даних адресу старого обробника переривань і записати його у таблицю векторів переривань. Для читання вектора використовується функція 35h переривання INT 21h. У лістингу 6.1 наведено код програми, який встановлює власний обробник переривання на вектор 1Ch, який постійно виводить символ “#” у верхньому правому кутку екрану. Лістинг 6.1 – Програма постійного виведення символа “#” у верхньому правому кутку екрану за допом...
Антиботан аватар за замовчуванням

14.05.2018 22:05

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини